// -*- IDL -*-

/**
 * @file PortableInterceptor.pidl
 *
 * @brief Pre-compiled IDL source for the PortableInterceptor
 * components in the ORB.
 *
 * This file contains the interface definitions for "Portable"
 * Interceptor support.
 * The following is from orbos/99-12-02 Portable Interceptors spec,
 * the full IDL is downloadable from orbos/99-12-02.
 *
 * Additional updates from ptc/00-08-05 are also included.  Changes
 * include:
 *    - addition of the Interceptor::destroy() method
 *    - move of CodecFactory and Codec interfaces to the IOP module
 */

// File: PortableInterceptor.idl
#ifndef _PORTABLE_INTERCEPTOR_IDL_
#define _PORTABLE_INTERCEPTOR_IDL_

#include "tao/PI_Forward.pidl"
#include "tao/Messaging_SyncScope.pidl"

module PortableInterceptor {

  typeprefix PortableInterceptor "omg.org";

  const AdapterState    HOLDING         = 0;
  const AdapterState    ACTIVE          = 1;
  const AdapterState    DISCARDING      = 2;
  const AdapterState    INACTIVE        = 3;
  const AdapterState    NON_EXISTENT    = 4;

  // Valid reply_status values:
  const ReplyStatus SUCCESSFUL = 0;
  const ReplyStatus SYSTEM_EXCEPTION = 1;
  const ReplyStatus USER_EXCEPTION = 2;
  const ReplyStatus LOCATION_FORWARD = 3;
  const ReplyStatus TRANSPORT_RETRY = 4;
  const ReplyStatus UNKNOWN = 5;
};

#endif  /* _PORTABLE_INTERCEPTOR_IDL_ */
